#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
日本語言語パック
"""

MESSAGES = {
    # 周波数処理関連
    'frequency_completed': '周波数 {frequency} Hz 処理完了、データポイント数: {len_splats} ({index}/{total}) [{progress_bar}] {progress_percent:.1f}%、凸包面積: {convex_hull_area:.2e}',
    'frequency_processing': '周波数 {frequency} Hz を処理中...',
    'frequency_saved': '周波数 {frequency} Hz データを {filename} に保存しました',
    'frequency_failed': '周波数 {frequency} Hz 処理失敗: {error}',
    
    # 進捗関連
    'progress_start': '{total} 個の周波数ポイントの処理を開始',
    'progress_complete': 'すべての周波数処理が完了しました',
    'progress_error': '処理中にエラーが発生しました: {error}',
    
    # ファイル操作関連
    'file_created': 'ファイルを作成しました: {filename}',
    'file_saved': 'ファイルを保存しました: {filename}',
    'file_error': 'ファイル操作に失敗しました: {error}',
    
    # 自動化関連
    'automation_started': 'SIMION自動化タスクが開始されました',
    'automation_completed': 'SIMION自動化タスクが完了しました',
    'automation_failed': 'SIMION自動化タスクが失敗しました: {error}',
    'automation_stopped': 'SIMION自動化タスクが停止されました',
    
    # サーバー関連
    'server_started': 'Pythonサーバーが開始されました',
    'server_stopped': 'Pythonサーバーが停止されました',
    'server_error': 'サーバーエラー: {error}',
    
    # 共通メッセージ
    'success': '成功',
    'error': 'エラー',
    'warning': '警告',
    'info': '情報',
    
    # ワークスペース関連
    'workspace_unavailable_single_thread': 'ワークスペース管理モジュールが利用できません、シングルスレッドモードを使用します',
    'workspace_detected': 'simion_workspaceディレクトリが既に存在することを検出しました',
    'workspace_path': 'ワークスペースパス: {path}',
    'workspace_legacy': 'これは前回の実行で残されたワークスペースの可能性があります、手動でクリーンアップすることをお勧めします',
    'workspace_auto_cleanup': '続行する場合、システムは古いワークスペースを自動的にクリーンアップします',
    'workspace_contents': 'ワークスペースには {count} 個のプロジェクトが含まれています:',
    'workspace_more_items': '  ... さらに{count}個のプロジェクトがあります',
    'workspace_read_error': 'ワークスペースの内容を読み取れません: {error}',
    'workspace_not_detected': 'simion_workspaceディレクトリが検出されませんでした、正常に開始できます',
    'workspace_setup_failed': 'ワークスペースの設定に失敗しました、シングルスレッドモードにフォールバックします',
    'workspace_multi_task': '✅ マルチタスクモード：並列実行を使用し、ワークスペースが分離されました',
    'workspace_single_freq': '単一周波数タスク、パフォーマンス向上のためワークスペース管理を無効化',
    'workspace_single_thread': 'ワークスペース管理が利用できません、シングルスレッドモードを使用します',
    'workspace_decision': '=== ワークスペース管理決定 ===',
    'workspace_available': 'ワークスペース管理利用可能: {available} スレッド数: {threads} 周波数数: {frequencies}',
    
    # ファイル検証関連
    'simion_not_found': 'SIMION実行ファイルが存在しません: {path}',
    'iob_not_found': 'IOBファイルが存在しません: {path}',
    'lua_not_found': 'Luaファイルが存在しません: {path}',
    'lua_retry': 'Luaファイルが存在しません、再試行 {attempt}/{max_retries}: {path}',
    'lua_write_retry': 'Luaファイルの書き込みに失敗しました、再試行 {attempt}/{max_retries}: {error}',
    'lua_write_failed': 'Luaファイルの書き込みが最終的に失敗しました: {error}',
    'lua_update_failed': 'Luaファイルの更新に失敗しました: {error}',
    
    # コマンド実行関連
    'command_execution_failed': '=== SIMIONコマンド実行失敗 ===',
    'command_details': 'コマンド: {cmd} リターンコード: {code} 作業ディレクトリ: {work_dir}',
    'return_code_1': 'リターンコード1: 一般的なエラー、パラメータエラーまたはファイル問題の可能性',
    'return_code_2': 'リターンコード2: シェルコマンドの誤用',
    'return_code_126': 'リターンコード126: コマンドが実行不可能、権限問題またはファイル破損の可能性',
    'return_code_127': 'リターンコード127: コマンドが見つかりません、SIMIONパスが正しいか確認してください',
    'return_code_128': 'リターンコード128: 無効な終了パラメータ',
    'return_code_signal': 'リターンコード{code}: プロセスが信号{signal}で終了されました',
    'signal_9': '  信号9 (SIGKILL): プロセスが強制終了されました',
    'signal_15': '  信号15 (SIGTERM): プロセスが正常終了されました',
    'return_code_unknown': 'リターンコード{code}: 未知のエラー',
    
    # エラー出力関連
    'error_output_details': '=== エラー出力詳細 ===',
    'error_line': 'エラー行{line_num}: {line}',
    'error_more_lines': '... さらに{count}行のエラー情報があります',
    'no_error_output': 'エラー出力情報がありません',
    'stdout_details': '=== 標準出力（エラー情報を含む可能性）===',
    'output_line': '出力行{line_num}: {line}',
    'output_more_lines': '... さらに{count}行の出力情報があります',
    
    # 例外処理関連
    'exception_details': '例外タイプ: {type} 例外情報: {message} コマンド: {cmd} 作業ディレクトリ: {work_dir}',
    
    # データ解析関連
    'parsing_line': '行{line_num}: {line}',
    'parsing_value_error': 'Splatデータの数値変換エラー: {error}, 行: {line}',
    'regex_match_failed': '=== 正規表現マッチ失敗 ===',
    'splat_line': 'Splat行 {line_num}: {line}',
    'regex_pattern': '正規表現: {pattern}',
    'simple_match_success': '簡単マッチ成功、x値: {value}',
    'simple_match_failed': '簡単マッチも失敗しました',
    
    # データ退化関連
    'data_degenerate_x': 'データ退化：すべてのx座標が同じ ({value})、凸包を計算できません',
    'data_degenerate_y': 'データ退化：すべてのy座標が同じ ({value})、凸包を計算できません',
    'data_degenerate_points': 'データ退化：すべての点が重複、凸包を計算できません',
    'qhull_error': 'QHull退化データエラー、凸包計算をスキップ: {error}',
    'convex_hull_failed': '凸包計算失敗、簡略版を使用: {error}',
    
    # 周波数処理関連
    'frequency_no_data': '周波数 {frequency} Hz: SIMIONコマンド実行成功、しかし有効なSplatデータが解析されませんでした',
    'frequency_no_data_reasons': '  これは以下の理由が考えられます：',
    'frequency_no_data_reason_1': '  1. 粒子軌跡が検出器に到達していない',
    'frequency_no_data_reason_2': '  2. 検出器位置の設定が不適切',
    'frequency_no_data_reason_3': '  3. 粒子エネルギー不足または軌跡の逸脱',
    'frequency_no_data_reason_4': '  4. Luaスクリプトの検出ロジックの問題',
    'frequency_no_valid_data': '有効な粒子データが検出されませんでした',
    'frequency_processing_error': '周波数 {frequency} Hz の処理中にエラーが発生しました: {error}',
    
    # ファイル保存関連
    'csv_dir_create_failed': '出力ディレクトリを作成できません: {path}',
    'csv_dir_not_writable': '出力ディレクトリが書き込み不可です: {path}',
    'csv_save_failed': 'CSVファイルの保存に失敗しました: {error} ターゲットパス: {target} 出力ディレクトリ: {output} ディレクトリ存在: {exists} ディレクトリ書き込み可能: {writable}',
    'splat_data_format_error': 'Splatデータ形式が正しくありません、質量を0に設定',
    'no_splat_data': 'Splatデータが提供されていません、質量を0に設定',
    'summary_data_prep_failed': 'summaryデータの準備に失敗しました: {error}',
    'summary_save_failed': 'summary.csvの保存に失敗しました: {error} ターゲットパス: {target} 出力ディレクトリ: {output} ディレクトリ存在: {exists} ディレクトリ書き込み可能: {writable}',
    
    # スレッドとタスク関連
    'frequency_list_length': '周波数リスト長: {count}',
    'thread_count': 'スレッド数: {count}',
    'task_count_less_cpu': 'タスク数({tasks}) ≤ CPUコア数({cpu})、タスク数をスレッド数として使用',
    'task_count_more_cpu': 'タスク数({tasks}) > CPUコア数({cpu})、CPUコア数をスレッド数として使用',
    'using_single_thread': 'シングルスレッドモードを使用',
    
    # クリーンアップ関連
    'cleanup_temp_files': '一時ファイルをクリーンアップ: {path}',
    'cleanup_workspace': 'ワークスペースをクリーンアップ: {path}',
    'cleanup_failed': 'クリーンアップに失敗: {error}',
    
    # 統計関連
    'total_frequencies': '合計: {count} 個の周波数',
    'success_count': '成功処理: {count} 個の周波数',
    'failed_count': '失敗処理: {count} 個の周波数',
    'automation_complete': '=== SIMION自動化完了 ===',
    'error_details': '=== エラー詳細 ===',
    
    # その他
    'current_directory': '現在のディレクトリ'
}
